Method and apparatus for embedding a 2-dimensional image in a 3-dimensional model

ABSTRACT

A computer implemented method and apparatus for embedding a 2D image in a 3D model. The method comprises generating a 3-dimensional (3D) print matrix representing a 2-dimensional (2D) image, wherein the print matrix comprises a plurality of sub-regions, the base plane of each sub-region angled with respect to a top surface of the print matrix so as to produce a plurality of shades, each shade representing a shade of the 2D image; and embedding the print matrix in a (3D) model

CROSS REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. application Ser. No.14/177,933, filed Feb. 11, 2014. The entire contents of the foregoingapplication are hereby incorporated by reference in its entirety.

BACKGROUND

Embodiments of the present invention generally relate to 3-dimensional(3D) printing and, more particularly, to a method and apparatus forembedding a 2-dimensional (2D) image in a 3D model using a singlemonochrome material

Popularity of 3D printers, either for home printing use or via a remoteservice, has increased in recent times. Traditionally, a 2D image, suchas a photo, is printed using a 2D printer. With the increase inpopularity of 3D printers and 3D objects, a need for printing the 2Dimage on a 3D image has risen. In one approach, the 2D image is printedon a 3D printer with a material that may be of a different color thanthe color of the 3D printing material. In such approach, the 2D image issculpted, not allowing for smooth shading of the 2D image. In anotherapproach, the 2D image may be engraved onto the 3D object after the 3Dobject is printed. However, both approaches provide an undesirableresult to the user who wants to combine the 2D image with the 3D model

Therefore, there is a need for a method and apparatus for embedding a 2Dimage in a 3D model using a single monochrome material.

BRIEF SUMMARY

A method for embedding a 2D image in a 3D model is described. The methodgenerates a 3-dimensional (3D) print matrix representing a 2-dimensional(2D) image, wherein the print matrix comprises a plurality ofsub-regions, the base plane of each sub-region angled so as to produce aplurality of shades, where each shade represents a shade of the 2Dimage. The method then embeds the print matrix in a (3D) model

In another embodiment, an apparatus for embedding a 2D image in a 3Dmodel is described. The apparatus includes a print matrix generator forgenerating a 3-dimensional (3D) print matrix representing a2-dimensional (2D) image, wherein the print matrix comprises a pluralityof sub-regions, the base plane of each sub-region angled so as toproduce a plurality of shades, each shade representing a shade of the 2Dimage. The apparatus also includes an embedding module for embedding theprint matrix in a (3D) model.

In yet another embodiment, a computer readable medium for embedding a 2Dimage in a 3D model is described. The computer readable medium includesinstructions to perform the method for embedding a 3D image in a 3Dmodel.

The Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used as an aid in determining the scope of the claimed subjectmatter.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an apparatus for embedding a 2D image in a3D model, according to one or more embodiments;

FIG. 2 depicts a flow diagram of a method for embedding a 2D image in a3D model as performed by the image processor, print matrix generator,and embedding module of FIG. 1, according to one or more embodiments;

FIG. 3 depicts a flow diagram of a method for generating a print matrixas performed by the print matrix generator of FIG. 1, according to oneor more embodiments; and

FIG. 4 illustrates the processing of the 2D image into the print matrix,according to one or more embodiments

While the method and apparatus is described herein by way of example forseveral embodiments and illustrative drawings, those skilled in the artwill recognize that the method and apparatus for embedding a 2D image ina 3D model is not limited to the embodiments or drawings described. Itshould be understood, that the drawings and detailed description theretoare not intended to limit embodiments to the particular form disclosed.Rather, the intention is to cover all modifications, equivalents andalternatives falling within the spirit and scope of the method andapparatus for embedding a 2D image in a 3D model defined by the appendedclaims. Any headings used herein are for organizational purposes onlyand are not meant to limit the scope of the description or the claims.As used herein, the word “may” is used in a permissive sense (i.e.,meaning having the potential to), rather than the mandatory sense (i.e.,meaning must). Similarly, the words “include”, “including”, and“includes” mean including, but not limited to.

DETAILED DESCRIPTION

As previously explained existing solutions provide undesirable results,such as a lack of smooth shading of a 2D image on a 3D model or createthe 2D image by processing the image after the 3D printing is complete.

Thus, in accordance with an embodiment of the present invention,techniques are disclosed for embedding a 2D image in a 3D model. A 2Dimage may be any digital image from any source, for example, a scannedphoto, or a downloaded image from a user's personal images. The 2D imageis made up of pixels of many different colors. Due to the fact that 3Dprinting material is monochromatic, the 2D image is processed in orderto convert it to a monochromatic 2D image in a way that preservessignificant details of the 2D image while removing extreme details.Significant details are details that are meaningful details to theappearance of the image. Extreme details are details that are notessential to represent the overall appearance of the image. Morespecifically, the 2D image is made monochromatic by applying a grayscaleprocess to the 2D image. Applying the grayscale process converts theimage to a black-and-white image that is composed exclusively of aplethora of shades of gray, varying in intensity from black to white.However, 3D printing material, due to its reflective properties may onlybe able to make visible, for example, four different shades of the gray.As such, further processing of the grayscale 2D image is required toconvert it to a 2-bit image, i.e., an image made up of only four shadesof gray.

The embodiments process the grayscale 2D image to reduce noise in the 2Dimage. Noise in the grayscale image is the plethora of shades of gray inthe image. In order to reduce the number of shades of gray (i.e., removethe noise) and also remove extreme details, a technique, for example,Gaussian blurring, may be applied to the grayscale 2D image. After thenoise removal, the grayscale 2D image is reduced to four shades of gray,for example using a technique such as dithering. Dithering reproducesthe 2D image using four shades of gray that are required to reproducethe 2D image using the 3D material. The dithering process produces a 2Dimage with a distribution of black pixels in varying density to make theimage appear as though there are intermediate colors. The result is a2-bit image (i.e., an image made up of four colors). The 2-bit image isassociated with four shades of gray. The embodiments use the reflectiveproperties of the 3D printing material at different angles to simulatethe four shades of gray. A print matrix is created that represents the2D image. The print matrix is a 2D rectangle divided into sub-regions.Each sub-region represents one or more pixels of the 2-bit image. Thebase plane of each sub-region is printed at one of four differentangles. Each angle in the base plane of sub-regions of a print matrixrepresents one of the four shades of gray. For example, if eachsub-region represents one pixel of the 2-bit image, the shade of gray ofthe pixel in the 2-bit image is translated into one of the four anglesin the print matrix. The embodiments create a print matrix thatrepresents the 2D image. In other words, when the 2D image is createdusing 3D printing material, the reflective properties of the 3D printingmaterial at the four different angles produces the details of the 2Dimage. After the print matrix containing a representation of the 2Dimage is embedded on a surface of the 3D model, the 3D model is readyfor printing.

Advantageously, the embodiments described herein can be employed toallow users to print 2D images on 3D models using monochrome material.The reflective properties of the material produce shades of color thatare used to reproduce the 2D image.

Various embodiments of a method and apparatus for embedding a 2D imagein a 3D model are described. In the following detailed description,numerous specific details are set forth to provide a thoroughunderstanding of claimed subject matter. However, it will be understoodby those skilled in the art that claimed subject matter may be practicedwithout these specific details. In other instances, methods, apparatusesor systems that would be known by one of ordinary skill have not beendescribed in detail so as not to obscure claimed subject matter.

Some portions of the detailed description that follow are presented interms of algorithms or symbolic representations of operations on binarydigital signals stored within a memory of a specific apparatus orspecial purpose computing device or platform. In the context of thisparticular specification, the term specific apparatus or the likeincludes a general-purpose computer once it is programmed to performparticular functions pursuant to instructions from program software.Algorithmic descriptions or symbolic representations are examples oftechniques used by those of ordinary skill in the signal processing orrelated arts to convey the substance of their work to others skilled inthe art. An algorithm is here, and is generally, considered to be aself-consistent sequence of operations or similar signal processingleading to a desired result. In this context, operations or processinginvolve physical manipulation of physical quantities. Typically,although not necessarily, such quantities may take the form ofelectrical or magnetic signals capable of being stored, transferred,combined, compared or otherwise manipulated. It has proven convenient attimes, principally for reasons of common usage, to refer to such signalsas bits, data, values, elements, symbols, characters, terms, numbers,numerals or the like. It should be understood, however, that all ofthese or similar terms are to be associated with appropriate physicalquantities and are merely convenient labels. Unless specifically statedotherwise, as apparent from the following discussion, it is appreciatedthat throughout this specification discussions utilizing terms such as“processing,” “computing,” “calculating,” “determining” or the likerefer to actions or processes of a specific apparatus, such as a specialpurpose computer or a similar special purpose electronic computingdevice. In the context of this specification, therefore, a specialpurpose computer or a similar special purpose electronic computingdevice is capable of manipulating or transforming signals, typicallyrepresented as physical electronic or magnetic quantities withinmemories, registers, or other information storage devices, transmissiondevices, or display devices of the special purpose computer or similarspecial purpose electronic computing device.

FIG. 1 is a block diagram of an apparatus 100 for embedding a 2D imagein a 3D model, according to one or more embodiments. The apparatus 100includes a computer 102. The computer 102 is a computing device, forexample a desktop computer, laptop, tablet computer, and the like. Thecomputer 102 includes a Central Processing Unit (CPU) 104, supportcircuits 106, and a memory 108. The computer 102 may be connected to a3D printer 126. The CPU 104 may include one or more commerciallyavailable microprocessors or microcontrollers that facilitate dataprocessing and storage. The various support circuits 106 facilitate theoperation of the CPU 104 and include one or more clock circuits, powersupplies, cache, input/output circuits, and the like. The memory 108includes at least one of Read Only Memory (ROM), Random Access Memory(RAM), disk drive storage, optical storage, removable storage and/or thelike.

The memory 108 includes an operating system 110, an image processor 112,a print matrix generator 114, an embedding module 116, a 2D image 118, a3D model 120, a processed 2D image 122, and a print matrix 124. Theoperating system 110 may include various commercially known operatingsystems.

When a user wishes to print a 3D model 120 to include a 2D image 118,the user submits the 3D model 120 and the 2D image 118 to the imageprocessor 112. The 2D image 118 may be any digital image on the computer102. The 3D model 120 may be any file representing a 3D model 120. Theimage processor 112 may be a software plug-in or extension to existingprinter software or an Application Programming Interface (API) for a 3Dprinter 126. Alternatively, the image processor 112 may be a plug-in for3D model creation software tools. The image processor 112 accesses the2D image 118. The 2D image 118 may be made up of pixels of a pluralityof colors. Due to the fact that 3D printing material is monochromatic,the 2D image 118 is processed in order to convert it to a monochromatic2D image in a way that preserves significant details of the 2D image 118while removing extreme details. The 2D image 118 is made monochromaticby applying a grayscale process to the 2D image 118. Applying thegrayscale process converts the image to a black-and-white image composedexclusively of shades of gray, varying in intensity from black to white.However, 3D printing material, due to its reflective properties may onlybe able to make visible, for example, four different shades of the gray.As such, further processing of the grayscale 2D image is required toconvert 2D image 118 to a 2-bit image, in other words, an image made upof only four shades of gray.

The image processor 112 reduces noise in grayscale 2D image. Noise inthe grayscale image is the varying shades of gray in the grayscale 2Dimage. In order to reduce the number of shades of gray (i.e., remove thenoise) and also remove details, the image processor 112 applies atechnique, for example, Gaussian blurring, to the grayscale 2D image.After the noise removal, the image processor 112 reduces the number ofshades of gray in the grayscale 2D image using, for example a techniquesuch as dithering. Dithering reproduces the 2D image using four shadesof gray that are required to reproduce the 2D image 118 using the 3Dmaterial. Many 3D printers 126 use a 3D printing material that hasreflexive qualities that are capable of showing only four differentshades of gray. However, some 3D printers 126 use a 3D printing materialthat has reflexive qualities that are capable of showing eight differentshades of gray. The type of 3D printer 126 is known at the time ofprocessing the 2D image 118. As such, the number of different shades ofgray produced by the dithering process is predefined. Although thepresent description describes a dithering process that reduces thegrayscale 2D image to four shades of gray, it is appreciated by those ofordinary skill in the art that the dithering process may reduce thenumber of shades of gray based on the reflexive properties of the 3Dprinting material. The dithering process produces a 2D image using adistribution of black pixels in varying density to make the 2D imageappear as though there are intermediate shades of gray. The result is aprocessed 2D image 122. The processed 2D image 122 is a 2-bit image(i.e., an image made up of four colors). The processed 2D image 122 isassociated with four shades of gray. The reflective properties of the 3Dprinting material at different angles can be used to simulate the fourshades of gray in the processed 2D image 122.

The print matrix generator 114 creates the print matrix 124 thatrepresents the processed 2D image 122. The print matrix 124 is a 2Drectangle divided into sub-regions. Each sub-region represents one ormore pixels of the processed 2D image 122. The base plane of eachsub-region is printed at one of four different angles. The four anglesare predefined based on the reflexive properties of the 3D printingmaterial, for example, 20, 27, 36, and 45 degrees. Each angle in thebase plane of sub-regions of the print matrix 124 represents one of thefour shades of gray in the processed 2D image 122. For example, if eachsub-region represents one pixel of the processed 2D image 122, the shadeof gray of the pixel in the processed 2D image 122 is translated intoone of the four angles in the print matrix 124. The print matrixgenerator 114 creates the print matrix 124 that represents the processed2D image 122. In other words, when the processed 2D image 122 is createdusing 3D printing material, the reflective properties of the 3D printingmaterial at the four different angles produces the details of theprocessed 2D image 122.

When the print matrix 124 is complete, the embedding module 116determines an area on the surface of the 3D model 120. The embeddingmodule 116 identifies a surface on the 3D model 120 that has at leastthe volume of the print matrix. Specifically, the surface on the 3Dmodel 120 must be at least of the size of the print matrix and the depthof the print matrix. For example, the print matrix 124 for the 2D image118 may be 5 cm by 5 cm by ½ cm deep. The surface on the 3D model 120must have at least the same dimension or larger. In some embodiments,the area on the surface of the 3D model 120 is selected by a user via auser interface (not shown). In such embodiments, the user rotates theview of the 3D model 120 to an orientation that shows the area of the 3Dmodel 120 where the user would like the 2D image 118 embedded. The userthen draws, for example, a rectangle on the surface of the 3D model 120to select the area where the user would like to have the 2D model 118embedded. The volume of the 3D print matrix then replaces a volume atthe area of the 3D model 120 with the volume of the 3D print matrix. The3D model 120 is then ready to be printed using any method for printingon the 3D printer 126. The 3D model 120 is printed with the processed 2Dimage 122 embedded in the surface of the 3D model 120.

FIG. 2 depicts a flow diagram of a method 200 for embedding a 2D imagein a 3D model as performed by the image processor 112, print matrixgenerator 114, and embedding module 116 of FIG. 1, according to one ormore embodiments. The method 200 generates a print matrix thatrepresents the 2D image and embeds the print matrix into a 3D model. Themethod 200 starts at step 202 and proceeds to step 204.

At step 204, the method 200 generates a 3D print matrix representing the2D image as described in further detail with respect to FIG. 3 below.The method 200 then proceeds to step 206, where the method 200 embedsthe 3D print matrix into the 3D model. The method 200 finds a surface onthe surface of the 3D model that is large enough to hold the printmatrix. For example, the print matrix may be 5 cm×5 cm and ½ cm thick.If a large enough surface does not exist on the surface of the 3D model,the method 200 downsizes the print matrix to fit an available area onthe surface of the 3D model. In some embodiments, the area on thesurface of the 3D model is selected by a user via a user interface. Insuch embodiments, the method 200 displays the 3D model. The user rotatesthe view of the 3D model to an orientation that shows the area of the 3Dmodel where the user would like the 2D image embedded. The user thendraws, for example, a rectangle on the surface of the 3D model to selectthe area where the user would like to have the 2D model embedded. Themethod 200 uses the selected area to hold the print matrix. The method200 then subtracts a cuboid of the dimensions of the print matrix fromthe 3D model. The method 200 replaces the subtracted cuboid byperforming a union of the print matrix with the 3D model. The result isa 3D print matrix representative of a 2D image embedded in the surfaceof a 3D model.

The method 200 proceeds to step 208 where the method 200 ends.

FIG. 3 depicts a flow diagram of a method 300 for generating a printmatrix as performed by the print matrix generator of FIG. 1, accordingto one or more embodiments. The method 300 processes a 2D image andgenerates a print matrix that represents the 2D image. The method 300starts at step 302 and proceeds to step 304.

At step 304, the method 300 accesses the 2D image. The 2D image may beany digital image that includes color information for each pixel. Themethod 300 proceeds to step 306, where the method 300 generates agrayscale image of the 2D image. The grayscale digital image identifiesan intensity value for each pixel in the 2D image. The grayscale imageis composed exclusively of shades of gray, varying from black at theweakest intensity to white at the strongest intensity.

The method 300 proceeds to step 308, where the method 300 removes noisefrom the grayscale image. The method 300 removes extreme details of thegrayscale image through, for example, Gaussian blurring. In order toensure that primary images of the grayscale image are retained, themethod 300 may perform selective blurring of low-gradient regions of thegrayscale image.

The method 300 proceeds to step 310, where the method 300 converts thegrayscale image to an indexed color image. The method 300 uses an errordiffusion technique, such as dithering, to generate an indexed colorimage. The number of colors that are created by the error diffusionprocess is pre-determined based on the reflective properties of theprinting material. The method 300 may generate a 2-bit image for aprinting material that, due to its reflective qualities, is able to showfour distinct shades of gray. The method 300 may generate a 3-bit imagefor a printing material that, due to its reflective properties, is ableto show eight distinct shades of gray.

The method 300 proceeds to step 312, where the method 300 creates a 3Dprint matrix from the indexed color image. The method 300 creates a 3Dprint matrix that has a surface area the size of the 2D image. Themethod 300 then creates sub-regions in the print matrix. Each sub-regionhas its base plane raised at an angle. Due to the reflective propertiesof the printing material, by angling the base plane of a sub-region, thesub-region produces a shade. The angles are pre-defined based on theprinting material. For example, for a 2-bit color image, four distinctangles are used to produce four distinct shades. In some embodiments,the base planes of the sub-regions may be printed at angles of 20, 27,36, and 45 degrees with respect to a top surface of the print matrix toproduce four distinct shades. Each sub-region is mapped to a pixel inthe indexed color image and each shade is mapped to an angle. The method200 creates the print matrix by defining an angle for each sub-region ofthe print matrix relative to the top surface of the print matrix. Theresult is a print matrix that reproduces the 2D image. The method 300proceeds to step 314 and ends.

FIG. 4 illustrates the stages 400 of the processing of the 2D image intothe print matrix, according to one or more embodiments. The input image402 is a grayscale image. However, if the input image 402 was in color,the input image 402 is converted to grayscale. Noise removal isperformed on the grayscale image 402 to remove extreme color values. Thenoise removal process produces a simplified image 404. Error diffusionis performed on the simplified image 404. The error diffusion processproduces an indexed color image 406. In this illustrated example, theindexed color image 406 is a 2-bit color image. The four shades of grayin the 2-bit color image are associated with the angles of 20, 27, 36,and 45 degrees. A print matrix 408 is created by mapping each shade ofgray to an angle. A sub-region is created for each pixel of the 2-bitcolor image 406. The base plane of each sub-region is angled withrespect to the top surface of the print matrix 408 at an angle thatcorresponds to the shade of the corresponding pixel in the indexed colorimage 406. The result is the print matrix 408 that represents the 2Dimage. A sample area 410 of the print matrix 408 illustrates the effectsof angling the base planes of the print matrix 408. Each sub-region 412,414, 416, 418 has a base plane angled to produce a shade of an indexedcolor image. The sub-region 412 has a base plane angled at 20 degrees.The sub-region 414 has a base plane angled at 27 degrees. The sub-region416 has a base plane angled at 36 degrees. The sub-region 418 has a baseplane angled at 45 degrees. The varying degrees result in differentshades. A single sub-region 420 is representative of a plurality ofsub-regions that make up the print matrix 408. The base plane 422 of thesub-region 420 is angled at an angle 424 relative to the top surface ofthe print matrix 408 so as to produce a respective one of a plurality ofshades of the indexed color image 406. The 3D model 426 is merely a boxthat may be printed on a 3D printer. The print matrix 408 is embedded inthe surface of the 3D model 426 producing a 3D model with an embedded 2Dimage 428.

The embodiments of the present invention may be embodied as methods,apparatus, electronic devices, and/or computer program products.Accordingly, the embodiments of the present invention may be embodied inhardware and/or in software (including firmware, resident software,micro-code, etc.), which may be generally referred to herein as a“circuit” or “module”. Furthermore, the present invention may take theform of a computer program product on a computer-usable orcomputer-readable storage medium having computer-usable orcomputer-readable program code embodied in the medium for use by or inconnection with an instruction execution system. In the context of thisdocument, a computer-usable or computer-readable medium may be anymedium that can contain, store, communicate, propagate, or transport theprogram for use by or in connection with the instruction executionsystem, apparatus, or device. These computer program instructions mayalso be stored in a computer-usable or computer-readable memory that maydirect a computer or other programmable data processing apparatus tofunction in a particular manner, such that the instructions stored inthe computer usable or computer-readable memory produce an article ofmanufacture including instructions that implement the function specifiedin the flowchart and/or block diagram block or blocks.

The computer-usable or computer-readable medium may be, for example butnot limited to, an electronic, magnetic, optical, electromagnetic,infrared, or semiconductor system, apparatus, device, or propagationmedium. More specific examples (a non-exhaustive list) of thecomputer-readable medium include the following: hard disks, opticalstorage devices, a transmission media such as those supporting theInternet or an intranet, magnetic storage devices, an electricalconnection having one or more wires, a portable computer diskette, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,and a compact disc read-only memory (CD-ROM).

Computer program code for carrying out operations of the presentinvention may be written in an object oriented programming language,such as Java.RTM, Smalltalk or C++, and the like. However, the computerprogram code for carrying out operations of the present invention mayalso be written in conventional procedural programming languages, suchas the “C” programming language and/or any other lower level assemblerlanguages. It will be further appreciated that the functionality of anyor all of the program modules may also be implemented using discretehardware components, one or more Application Specific IntegratedCircuits (ASICs), or programmed Digital Signal Processors ormicrocontrollers.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific embodiments. However, theillustrative discussions above are not intended to be exhaustive or tolimit the invention to the precise forms disclosed. Many modificationsand variations are possible in view of the above teachings. Theembodiments were chosen and described in order to best explain theprinciples of the present disclosure and its practical applications, tothereby enable others skilled in the art to best utilize the inventionand various embodiments with various modifications as may be suited tothe particular use contemplated.

The methods described herein may be implemented in software, hardware,or a combination thereof, in different embodiments. In addition, theorder of methods may be changed, and various elements may be added,reordered, combined, omitted, modified, etc. All examples describedherein are presented in a non-limiting manner. Various modifications andchanges may be made as would be obvious to a person skilled in the arthaving benefit of this disclosure. Realizations in accordance withembodiments have been described in the context of particularembodiments. These embodiments are meant to be illustrative and notlimiting. Many variations, modifications, additions, and improvementsare possible. Accordingly, plural instances may be provided forcomponents described herein as a single instance. Boundaries betweenvarious components, operations and data stores are somewhat arbitrary,and particular operations are illustrated in the context of specificillustrative configurations. Other allocations of functionality areenvisioned and may fall within the scope of claims that follow. Finally,structures and functionality presented as discrete components in theexample configurations may be implemented as a combined structure orcomponent. These and other variations, modifications, additions, andimprovements may fall within the scope of embodiments as defined in theclaims that follow.

While the foregoing is directed to embodiments of the present invention,other and further embodiments of the invention may be devised withoutdeparting from the basic scope thereof, and the scope thereof isdetermined by the claims that follow.

We claim:
 1. A computer implemented method of embedding 2-dimentionalimages into 3-dimensional models comprising: processing a 2-dimensionalimage using one or more of gray scaling, noise removal, or dithering;generating an indexed color image from the processed 2-dimensionalimage, the indexed color image comprising a pre-determined number ofcolors based on reflective properties of a 3-dimensional printingmaterial; generating a 3-dimensional print matrix representing the2-dimensional image, wherein the 3-dimensional print matrix comprises aplurality of sub-regions, a base plane of each sub-region angled so asto produce a respective one of a plurality of shades, each shaderepresenting a color of the indexed color image; and embedding the printmatrix in a 3-dimensional model formed of the 3-dimensional printingmaterial.
 2. The method of claim 1, wherein each sub-region correspondsto one or more pixels of the 2-dimensional image, and wherein eachangled base plane is printed at a respective one angle of a plurality ofpre-defined angles.
 3. The method of claim 1, wherein processing the2-dimensional image comprises converting the 2-dimensional image into agrayscale image.
 4. The method of claim 3, wherein generating theindexed color image from the processed 2-dimensional image comprisesapplying an error diffusion process to the grayscale image to reduce anumber of colors in the grayscale image to the predetermined number ofcolors.
 5. The method of claim 4, wherein generating the indexed colorimage from the processed 2-dimensional image comprises applying theerror diffusion process to the grayscale image to convert the grayscaleimage into a 2-bit image consisting of four distinct gray colors.
 6. Themethod of claim 1, wherein embedding the 3-dimensional print matrix inthe 3-dimensional model comprises embedding the 3-dimensional printmatrix in a flat surface of the 3-dimensional model.
 7. The method ofclaim 1, wherein embedding the 3-dimensional print matrix in the3-dimensional model comprises: determining an area on a surface of the3-dimensional model that is greater than or equal in size and having adepth thereunder, of the size and depth of the 3-dimensional printmatrix; removing the area and volume thereunder from the surface of the3-dimensional model; and replacing the removed area and volume with thevolume of the 3-dimensional print matrix.
 8. An apparatus for embedding2-dimentional images into 3-dimensional models comprising: at least oneprocessor; a non-transitory computer-readable storage medium storinginstructions thereon that, when executed by the at least one processor,cause the apparatus to: process a 2-dimensional image using one or moreof gray scaling, noise removal, or dithering; generate an indexed colorimage from the processed 2-dimensional image, the indexed color imagecomprising a pre-determined number of colors based on reflectiveproperties of a 3-dimensional printing material; generate a3-dimensional print matrix representing the 2-dimensional image, whereinthe 3-dimensional print matrix comprises a plurality of sub-regions, abase plane of each sub-region angled so as to produce a respective oneof a plurality of shades, each shade representing a color of the indexedcolor image; and embed the print matrix in a 3-dimensional model formedof the 3-dimensional printing material.
 9. The apparatus of claim 8,wherein the instructions further cause the apparatus to process the2-dimensional image by converting the the 2-dimensional image into agrayscale image.
 10. The apparatus of claim 8, wherein the instructionsfurther cause the apparatus to generate the indexed color image from theprocessed 2-dimensional image by applying an error diffusion process tothe processed 2-dimensional image to reduce a number of colors in theprocessed 2-dimensional image to the predetermined number of colors. 11.The apparatus of claim 8, wherein the instructions further cause theapparatus to generate the indexed color image from the processed2-dimensional image by applying an error diffusion process to theprocessed 2-dimensional image to convert the processed 2-dimensionalimage into a 3-bit image consisting of eight colors.
 12. The apparatusof claim 8, wherein embedding the 3-dimensional print matrix in the3-dimensional model comprises embedding the 3-dimensional print matrixin a flat surface of the 3-dimensional model.
 13. The apparatus of claim8, wherein embedding the 3-dimensional print matrix in the 3-dimensionalmodel comprises: determining an area on a surface of the 3-dimensionalmodel that is greater than or equal in size and having a depththereunder of the size and depth of the 3-dimensional print matrix;removing the area and volume thereunder from the surface of the3-dimensional model; and replacing the removed area and volume with thevolume of the 3-dimensional print matrix.
 14. A non-transitory computerreadable medium for storing computer instructions that, when executed byat least one processor causes the at least one processor to perform asteps comprising: processing a 2-dimensional image using one or more ofgray scaling, noise removal, or dithering; generating an indexed colorimage from the processed 2-dimensional image, the indexed color imagecomprising a pre-determined number of colors based on reflectiveproperties of a 3-dimensional printing material; generating a3-dimensional print matrix representing the 2-dimensional image, whereinthe 3-dimensional print matrix comprises a plurality of sub-regions, abase plane of each sub-region angled so as to produce a respective oneof a plurality of shades, each shade representing a color of the indexedcolor image; and embedding the print matrix in a 3-dimensional modelformed of the 3-dimensional printing material.
 15. The non-transitorycomputer readable medium of claim 14, wherein each sub-regioncorresponds to one or more pixels of the 2-dimensional image, andwherein each angled base plane is printed at a respective one angle of aplurality of pre-defined angles.
 16. The non-transitory computerreadable medium of claim 14, wherein processing the 2-dimensional imagecomprises converting the 2-dimensional image into a grayscale image. 17.The non-transitory computer readable medium of claim 16, whereingenerating the indexed color image from the processed 2-dimensionalimage comprises applying an error diffusion process to the grayscaleimage to reduce a number of colors in the grayscale image to thepredetermined number of colors.
 18. The non-transitory computer readablemedium of claim 17, wherein generating the indexed color image from theprocessed 2-dimensional image comprises applying the error diffusionprocess to the grayscale image to convert the grayscale image into a2-bit image consisting of four distinct gray colors.
 19. Thenon-transitory computer readable medium of claim 14, wherein embeddingthe 3-dimensional print matrix in the 3-dimensional model comprisesembedding the 3-dimensional print matrix in a flat surface of the3-dimensional model.
 20. The non-transitory computer readable medium ofclaim 14, wherein embedding the print matrix in the 3-dimensional modelcomprises: determining an area on a surface of the 3-dimensional modelthat is greater than or equal in size and having a depth thereunder, ofthe size and depth of the 3-dimensional print matrix; removing the areaand volume thereunder from the surface of the 3-dimensional model; andreplacing the removed area and volume with the volume of the3-dimensional print matrix.